package com.xyht.sca_s.student_manage_system.modules.useMoneyApplication.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xyht.sca_s.student_manage_system.common.commonReturn.ResponseResult;
import com.xyht.sca_s.student_manage_system.modules.useMoneyApplication.entity.SmsUseMoneyApplication;
import com.xyht.sca_s.student_manage_system.modules.useMoneyApplication.entity.vo.SmsUseMoneyApplicationAllowVO;
import com.xyht.sca_s.student_manage_system.modules.useMoneyApplication.entity.vo.SmsUseMoneyApplicationExportVO;
import com.xyht.sca_s.student_manage_system.modules.useMoneyApplication.entity.vo.SmsUseMoneyApplicationVO;
import com.xyht.sca_s.student_manage_system.modules.useMoneyApplication.entity.vo.SmsUseMoneyCancelVO;

import javax.servlet.http.HttpServletResponse;
import java.util.concurrent.Future;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author XYHT
 * @since 2023-05-14
 */
public interface SmsUseMoneyApplicationService extends IService<SmsUseMoneyApplication> {

    ResponseResult smsUseMoneyApplicationAdd(SmsUseMoneyApplicationVO smsUseMoneyApplication,String user_id);

    ResponseResult smsUseMoneyApplicationCancel(SmsUseMoneyCancelVO smsUseMoneyCancel, String user_id);

    ResponseResult smsUseMoneyApplicationAllow(SmsUseMoneyApplicationAllowVO allowVO, String user_id);

    ResponseResult getUseMoneyApplicationList(String search_str,String user_id, Integer application_type, Integer pageNum, Integer pageSize);

    ResponseResult getUseMoneyApplicationDetail(String application_id, String user_id);

    ResponseResult getUseMoneyApplicationOriginSettingProcess();

    Future<ResponseResult> tableDownload(String apply_id, HttpServletResponse response);

    ResponseResult selectAllUseMoneyApply(String apply_unit, Integer pageSize, Integer pageNum);

    Future<ResponseResult> exportUseMoneyApplication(SmsUseMoneyApplicationExportVO exportVO, HttpServletResponse response);
}
